package com.qinggeng.project.system.domain;

import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.qinggeng.framework.aspectj.lang.annotation.Excel;
import lombok.Data;
import com.qinggeng.framework.web.domain.BaseEntity;

/**
 * 用户收货地址信息对象 user_address
 * 
 * @author qinggeng
 * @date 2020-05-28
 */
@Data
public class UserAddress extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    @ApiModelProperty("收货地址ID 添加不用传 修改传值")
    private Long addressId;

    /** 收货人姓名 */
    @ApiModelProperty("收货人姓名")
    @Excel(name = "收货人姓名")
    private String consignee;

    /** 收货地区 */
    @ApiModelProperty("收货地区")
    @Excel(name = "收货地区")
    private String addressName;

    /** 手机号 */
    @ApiModelProperty("手机号")
    @Excel(name = "手机号")
    private String addressPhone;

    /** 收货地址 */
    @ApiModelProperty("收货地址")
    @Excel(name = "收货地址")
    private String addressInfo;

    /** 门牌号 */
    @ApiModelProperty("门牌号")
    @Excel(name = "门牌号")
    private String addressHouse;

    /** 地址标签 1=家 2=公司 3=学校 */
    @ApiModelProperty("地址标签 1=家 2=公司 3=学校")
    @Excel(name = "地址标签")
    private Integer addressMark;


    @ApiModelProperty("经度")
    @Excel(name = "经度")
    private Float addressLng;

    @ApiModelProperty("纬度")
    @Excel(name = "纬度")
    private Float addressLat;

    /**当前定位经度*/
    private Float lng;

    /**当前定位纬度*/
    private Float lat;

    /** 性别 10=男 20=女 */
    @ApiModelProperty("性别 10=男 20=女")
    @Excel(name = "性别 10=男 20=女")
    private String sex;

    /** 地址状态 10=非默认 20=默认 */
    @ApiModelProperty("地址状态 10=非默认 20=默认")
    @Excel(name = "地址状态 10=非默认 20=默认")
    private String status;

    /** 用户ID */
    @ApiModelProperty(hidden = true)
    @Excel(name = "用户ID")
    private Long userId;

    private Long shopId;

    /** 是否删除 10=未删除 20=已删除 */
    @ApiModelProperty(hidden = true)
    @Excel(name = "是否删除 10=未删除 20=已删除")
    private String delFalg;

    //距离
    private Double distance;

    private Boolean isuse;

    public UserAddress() {
    }

    public UserAddress(Float addressLng, Float addressLat) {
        this.addressLng = addressLng;
        this.addressLat = addressLat;
    }

    public Long getAddressId() {
        return addressId;
    }

    public void setAddressId(Long addressId) {
        this.addressId = addressId;
    }

    public String getAddressName() {
        return addressName;
    }

    public void setAddressName(String addressName) {
        this.addressName = addressName;
    }

    public String getAddressPhone() {
        return addressPhone;
    }

    public void setAddressPhone(String addressPhone) {
        this.addressPhone = addressPhone;
    }

    public String getAddressInfo() {
        return addressInfo;
    }

    public void setAddressInfo(String addressInfo) {
        this.addressInfo = addressInfo;
    }

    public String getAddressHouse() {
        return addressHouse;
    }

    public void setAddressHouse(String addressHouse) {
        this.addressHouse = addressHouse;
    }

    public Float getAddressLng() {
        return addressLng;
    }

    public void setAddressLng(Float addressLng) {
        this.addressLng = addressLng;
    }

    public Float getAddressLat() {
        return addressLat;
    }

    public void setAddressLat(Float addressLat) {
        this.addressLat = addressLat;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getDelFalg() {
        return delFalg;
    }

    public void setDelFalg(String delFalg) {
        this.delFalg = delFalg;
    }

    public Double getDistance() {
        return distance;
    }

    public void setDistance(Double distance) {
        this.distance = distance;
    }

    public Boolean getIsuse() {
        return isuse;
    }

    public void setIsuse(Boolean isuse) {
        this.isuse = isuse;
    }

    public String getConsignee() {
        return consignee;
    }

    public void setConsignee(String consignee) {
        this.consignee = consignee;
    }

    public Integer getAddressMark() {
        return addressMark;
    }

    public void setAddressMark(Integer addressMark) {
        this.addressMark = addressMark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("addressId", getAddressId())
                .append("consignee",getConsignee())
            .append("addressName", getAddressName())
            .append("addressPhone", getAddressPhone())
            .append("addressInfo", getAddressInfo())
            .append("addressHouse", getAddressHouse())
                .append("addressMark",getAddressMark())
            .append("sex", getSex())
            .append("status", getStatus())
            .append("userId", getUserId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("delFalg", getDelFalg())
            .toString();
    }
}
